#include <stdio.h>
#include <stdlib.h>

typedef struct 
{
    int w;
    int index;
} Data;

Data datas[32768];

void f(Data *array, int leftIndex, int rightIndex)
{
    int pivot, l, r;  
    Data temp, n;

    if (leftIndex >= rightIndex)
    {
        return;
    }

    n = array[leftIndex];
    l = leftIndex;
    r = rightIndex;

    while (l < r)
    {
        while ((l < r && array[r].w < n.w) 
            || (l < r && array[r].w == n.w && array[r].index > n.index))
        {
            r--;
        }
        array[l] = array[r];

        while ((l < r && array[l].w > n.w)
            || (l < r && array[l].w == n.w && array[l].index < n.index))
        {
            l++;
        }
        array[r] = array[l];
    }
    array[l] = n;

    f(array, leftIndex, l - 1);
    f(array, l + 1, rightIndex);
}

int main()
{
    int i, n, k, E[32];

    // FILE *file = fopen("P1583.txt", "r+");
    
    // fscanf(file, "%d%d", &n, &k);
    scanf("%d%d", &n, &k);
    // printf("%d:%d ", n, k);

    for(i = 0; i < 10; i++)
    {
        // fscanf(file, "%d", &E[i]);
        scanf("%d", &E[i]);
    }

    for(i = 0; i < n; i++)
    {
        // fscanf(file, "%d", &datas[i].w);
        scanf("%d", &datas[i].w);
        datas[i].index = i + 1;
    }

    f(datas, 0, n - 1);

    // for (i = 0; i < n; i++)
    // {
    //     printf("%d:%d ", datas[i].w, datas[i].index);
    // }

    for (i = 0; i < n; i++)
    {
        datas[i].w += E[i % 10];
    }

    f(datas, 0, n - 1);

    // printf("\n");

    // for (i = 0; i < n; i++)
    // {
    //     printf("%d:%d ", datas[i].w, datas[i].index);
    // }

    for (i = 0; i < k; i++)
    {
        if (i)
        {
            printf(" %d", datas[i].index);
        }
        else
        {
            printf("%d", datas[i].index);
        }
    }

    return 0; 
}